package br.uniriotec.pssgbd.trab.model.bo;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JOptionPane;

import br.uniriotec.pssgbd.trab.model.entidade.PaisOrigem;

public class PaisOrigemBO extends PadraoBO{

	protected PadraoBO dao = new PadraoBO();
	Connection connection;
	
	public PaisOrigemBO(){
		try{
			
			connection = dao.criaConexao(false);
			
		}
		catch (Exception e){
			JOptionPane.showMessageDialog(null, ""+e.getMessage());
		}
	}
	
	public List<PaisOrigem> listar(){
		String sql = "select * from pais";
		List<PaisOrigem> paises= new ArrayList<PaisOrigem>();
		
		try {
			Statement stmt = connection.createStatement();
			ResultSet rs = stmt.executeQuery(sql);

			
			while (rs.next()) {
				PaisOrigem pais = new PaisOrigem();
				pais.setPais(rs.getString("nome"));
				int id = rs.getInt("paisid");
				pais.setCodPais(id);
				pais.setContinente(rs.getString("continente"));
				pais.setLinguaOficial(rs.getString("linguaoficial"));
				paises.add(pais);
			}
		} catch (SQLException e) {
			Exception erro = new Exception(e.getMessage());
		}
		
		return paises;
	}
	
	public PaisOrigem recuperaPaisOrigem(Integer codPais) {
		String sql = "select * from pais where paisid=?";
		PreparedStatement stmt = null;
		ResultSet rs = null;
		PaisOrigem pais= null;
		
		try {
			stmt = connection.prepareStatement(sql);
			stmt.setInt(1, codPais);
			rs = stmt.executeQuery();
			
			if (rs.next()) {
				pais = new PaisOrigem();
				pais.setPais(rs.getString("nome"));
				pais.setCodPais(Integer.parseInt(rs.getString("paisid")));
				pais.setContinente(rs.getString("continente"));
				pais.setLinguaOficial(rs.getString("linguaoficial"));
			}
		} catch (SQLException e) {
			Exception erro = new Exception("Erro ao recuperar o pais!");
		}
		
		return pais;
		
	}
	
//	public static void main (String [] args){
//		PaisOrigemBO u = new PaisOrigemBO();
//		List<PaisOrigem> paises = u.listar();
//		for(PaisOrigem p: paises){
//			System.out.println(p.getPais());
//		}
//		PaisOrigem rec = u.obterPaisOrigem(1);
//		System.out.println("PAIS RECUP:"+rec.getPais());
//	}
	
}
